/*
*
*/

#ifndef SINGLETON_H
#define SINGLETON_H

#include "GlobalDefine.h"

template<typename T>
class TSingleton
{
public:

	TSingleton();
	virtual ~TSingleton();

	static T& GetSingleton();
	static T* GetSingletonPtr();

protected:

	static T* ms_pkSingleton;

private:

	TSingleton(const TSingleton<T>&);
	TSingleton& operator = (const TSingleton<T>&);
};

#include "Singleton.inl"

#endif